PostgreSQL 错误日志配置
1 背景知识
本文介绍如何配置 PostgreSQL 数据库日志参数。分为两个方面,一种配置用于测试和配置,另外一种配置用于生产压力测试。
2 通常配置
2.1 生产环境的日志配置
#postgres>
cat >> $PGDATA/err_log.conf << EOF
log_destination = 'csvlog'
logging_collector = on
log_directory = 'pg_log'
log_filename = 'postgresql-%d'
log_line_prefix ='%m %u %d [%p]'
log_truncate_on_rotation = on
log_rotation_age = 1d
log_rotation_size = 1GB
log_error_verbosity = default
log_statement = None
EOF
cat >> $PGDATA/postgresql.conf << EOF
include_if_exists='err_log.conf'
EOF
2.2 调试与分析的日志配置
配置ERROR LOG 的相关参数。能够更详细的查看数据库运行时内部原理和机制。
#postgres>
cat >> $PGDATA/err_log.conf << EOF
log_destination = 'csvlog'
logging_collector = on
log_directory = 'pg_log'
log_filename = 'postgresql-%d'
log_line_prefix ='%m %u %d [%p]'
log_truncate_on_rotation = on
log_rotation_age = 1d
log_rotation_size = 1GB
log_error_verbosity = debug
log_statement = all
EOF
cat >> $PGDATA/postgresql.conf << EOF
include_if_exists='err_log.conf'
EOF
3 参数生效
重启数据库让参数生效。
#postgres>
pg_ctl restart -D $PGDATA